package com.cbd.service;

import com.cbd.common.UserStatus;
import com.cbd.dto.UserLoginDto;
import com.cbd.entity.UserEntity;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @Author: 蓝影
 * @Date: 2024/11/22 10:36
 * @Description:用户服务接口
 */
public interface IUserService {
    /**
     * 用户注册
     *
     * @param users
     * @return
     */
    boolean register(UserEntity users);

    /**
     * 用户登录
     *
     * @param userDto
     * @return
     */
    boolean login(UserLoginDto userDto);

    /**
     * 根据用户名获取角色列表
     *
     * @param username
     * @return 角色列表
     */
    List<String> getRoles(String username);

    /**
     * 根据用户名获取权限列表
     *
     * @param username
     * @return 权限列表
     */
    List<String> getPermissions(String username);

    /**
     * 根据用户名获取用户信息
     * @param username
     * @return 用户信息
     */
    @Transactional // 该注解用于事务控制
    UserStatus checkUserStatus(String username);


    @Transactional // 该注解用于事务控制
    boolean updateUserStatus(String username);
}


